de.unihalle.informatik.MiToBo.apps.singleCellTracking2D
Class ShapeAnalyzer

java.lang.Object
  extended by de.unihalle.informatik.MiToBo.apps.singleCellTracking2D.ReportGenerator
      extended by de.unihalle.informatik.MiToBo.apps.singleCellTracking2D.ShapeAnalyzer

public class ShapeAnalyzer
extends ReportGenerator


Field Summary
private  MTBImage labelImg
           
private  int sizeT
           
private  int sizeX
           
private  int sizeY
           
 
Fields inherited from class de.unihalle.informatik.MiToBo.apps.singleCellTracking2D.ReportGenerator
bgLabel, deltaT, deltaX, deltaY, minTrackLength, naString, nf, unitAngle, unitT, unitXY
 
Constructor Summary
ShapeAnalyzer(MTBImage labelImg)
          constructor
 
Method Summary
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getAreaFractions(java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> areas)
           
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getAreas()
           
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getAvgWidths(java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> areas, java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> lengths)
           
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getCircularities()
           
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getEccentricities()
           
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getLengths()
          calculates the lengths of the major axes of the best fitting ellipses for each object
assumes the pixels to be square, i.e. deltaX == deltaY
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getOverlaps()
           
private  java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getPerimeters()
          calculates perimeters of the objects
assumes the pixels to be square, i.e. deltaX == deltaY
 java.lang.String makeReport()
           
 
Methods inherited from class de.unihalle.informatik.MiToBo.apps.singleCellTracking2D.ReportGenerator
getAverageMean, getAverageStdDev, getObjectsMeans, getObjectsStdDevs, getSettings, hashtableToString, hashtableToString, numberToString, pointHashtableToString, pointHashtableToStringX, pointHashtableToStringY, pointVectorToString, pointVectorToStringX, pointVectorToStringY, setDeltaT, setDeltaX, setDeltaY, setMinTrackLength, setUnitAngle, setUnitT, setUnitXY, trim, vectorToString, vectorToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

labelImg

private final transient MTBImage labelImg

sizeT

private final int sizeT

sizeX

private final int sizeX

sizeY

private final int sizeY
Constructor Detail

ShapeAnalyzer

public ShapeAnalyzer(MTBImage labelImg)
constructor

Parameters:
labelImg - input label image
Method Detail

getAreaFractions

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getAreaFractions(java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> areas)
Parameters:
areas - areas of the objects in the distinct frames
Returns:
key: areas fractions of the objects from one frame to the next
key: object-id, value: list of areas fractions

getAreas

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getAreas()
Returns:
key: areas of the objects in the distinct frames
key: object-id, value: list of areas

getAvgWidths

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getAvgWidths(java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> areas,
                                                                                               java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> lengths)
Parameters:
areas -
lengths -
Returns:
average width of each object in every frame
key: object-id, value: list of widths

getCircularities

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getCircularities()
Returns:
circularity of each object in every frame
key: object-id, value: list of circularities

getEccentricities

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getEccentricities()
Returns:
eccentricity of each object in every frame
key: object-id, value: list of eccentricities

getLengths

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getLengths()
calculates the lengths of the major axes of the best fitting ellipses for each object
assumes the pixels to be square, i.e. deltaX == deltaY

Returns:
length of major axis of each object in every frame
key: object-id, value: list of lengths

getOverlaps

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getOverlaps()
Returns:
key: overlap of the object pixels in the distinct frames
key: object-id, value: list of overlaps

getPerimeters

private java.util.Hashtable<java.lang.Integer,java.util.Vector<java.lang.Double>> getPerimeters()
calculates perimeters of the objects
assumes the pixels to be square, i.e. deltaX == deltaY

Returns:
perimeter of each object in every frame
key: object-id, value: list of perimeters

makeReport

public java.lang.String makeReport()
Specified by:
makeReport in class ReportGenerator
Returns:
report