Interface LocaliserError

All Known Implementing Classes:
EllipticalError, LikilihoodError, MCMCEllipticalError, SimpleError

public interface LocaliserError
Interface for loclaiser error. .

Perhaps the most interesting aspect of localisation algorithm is how it calculates error. For example MCMC creates a cloud of points, which can be any shape- the density of the points corresponds to the error surface. Simplex looks at the curvature of a chi2 surface, hyperbolic might try to bootstrap loclisations with tweaked input params from probability functions. There are multiple ways to calulate error..

The error class is an abstracted method of returning errors. It can be very simple, e.g. just a set of two or three vectors. Or it can be more complex, e.g. sampling a cloud of points, or storing errors in a 3D rotated ellipse. What is common across all subclasses is that error can be extracted in any 3D direction.

As error methods may be very different, xml is used to store error in the database. It is up to the specific subclass to define it's own xml for adequate storage. . #

Author:
Jamie Macualay
  • Field Details

    • xdir

      static final double[] xdir
      Unit vector in the x direction
    • ydir

      static final double[] ydir
      Unit vector in the y direction
    • zdir

      static final double[] zdir
      Unit vector in the z direction
    • xdirVec

      static final PamVector xdirVec
      PamVector in the x direction (unit vecor)
    • ydirVec

      static final PamVector ydirVec
      PamVector in the y direction (unit vecor)
    • zdirVec

      static final PamVector zdirVec
      PamVector in the y direction (unit vector)
  • Method Details

    • getError

      double getError(PamVector errorDirection)
      Return the error in a particular direction. The direction is based on the 3D Cartesian co-ordinate grid the localisation took place in.
      Parameters:
      errorDirection - - the direction of the error to find
      Returns:
      the value of the error in the direction specified.
    • getErrorDirection

      PamVector getErrorDirection()
      Get the real world error direction. e.g. if the error is relative to north this will be [0,1,0] as per the PAMGuard co-ordinate system. If the error is relative to a boat heading then the vector will describe the direction of the boat. Used primarily to geo reference errors.
      Returns:
      the real world error direction.
    • getJsonErrorString

      String getJsonErrorString()
      Returns:
      Error in a JSON format for writing to database.
    • getErrorDraw

      LocErrorGraphics getErrorDraw()
      Functions fro drawing the localisation error
      Returns:
      a class containing fucntion to draw localisation error with.
    • getStringResult

      String getStringResult()
      A description of the loclaisation error.
      Returns:
      locisation error.
    • getErrorMagnitude

      double getErrorMagnitude()
      Returns:
      the total of the magnitude of the error in all directions.