#include <range_obs.hpp>
Inheritance diagram for Arak::ArakPosteriorRangeObs:
This potential is additively decomposable so the posterior Arak process has the spatial Markov property.
Definition at line 20 of file range_obs.hpp.
Public Member Functions | |
ArakPosteriorRangeObs (const ArakProcess &prior, const Arak::Util::PropertyMap &props) | |
Stream constructor. | |
virtual | ~ArakPosteriorRangeObs () |
Destructor. | |
const Geometry::Rectangle & | boundary () const |
Returns a const reference to a rectangle that encloses the observed data. | |
virtual double | scale () const |
Returns the scale of this Arak process. | |
virtual double | logMeasure () const |
Computes the (log) measure associated with the Arak process for the coloring. | |
virtual double | potential () const |
Computes the potential associated with this posterior Arak process. | |
virtual void | visualize (CGAL::Qt_widget &widget) const |
Renders a graphical representation of this Arak posterior using the supplied widget. | |
virtual void | update (const Geometry::Point &a, const Geometry::Point &b, const Geometry::Point &c) |
This method recalculates the likelihood of all observations that are out of date and are sensitive to a given triangle. | |
virtual void | recolored (const Geometry::Point &a, const Geometry::Point &b, const Geometry::Point &c) |
This method is invoked to inform this process that the triangle with the supplied vertices has been recolored. | |
virtual void | recolored (const Geometry::Point &a, const Geometry::Point &b, const Geometry::Point &c, const Geometry::Point &d) |
This method is invoked to inform this process that the quadrilateral with the supplied vertices has been recolored. | |
Protected Types | |
typedef PointerHandle< RangeObs > | RangeObsHandle |
typedef Grid< RangeObsHandle > | RangeObsIndex |
A grid where each cell stores handles to all observations whose source-to-impact rays intersect the cell's boundary. | |
Protected Member Functions | |
bool | retraceObs (RangeObs &o, bool init=false) const |
Retraces the supplied observation in the current coloring. | |
double | updateObsLP (RangeObs &o, bool init=false) const |
Updates the log probability of the supplied observation under the current coloring and process parameters. | |
Protected Attributes | |
const ArakProcess & | prior |
The prior process. | |
std::vector< RangeObs * > | obs |
A vector of the observations. | |
RangeObsIndex * | obsIndex |
An index of the observations. | |
unsigned long int | updateId |
The update sequence number. | |
double | maxRange |
This is the range measurement obtained when the sensor does not impact a surface. | |
double | rangeVar |
The variance of the range measurement, given the beam impacted a surface. | |
double | pOutlier |
The probability of obtaining an outlier range measurement. | |
double | pMaxFalseNeg |
The probability of obtaining a false-negative max-range measurement. | |
double | pMaxFalsePos |
The probability of obtaining a false-positive max-range measurement. | |
double | lp |
The current potential arising from observations. |
|
Definition at line 26 of file range_obs.hpp. Referenced by retraceObs(), and update(). |
|
A grid where each cell stores handles to all observations whose source-to-impact rays intersect the cell's boundary.
Definition at line 32 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(). |
|
Stream constructor. The observations are read from a file of numbers with the following format:
Definition at line 12 of file range_obs.cpp. References Arak::Coloring::addListener(), Arak::Coloring::addQueryPoints(), Arak::Coloring::boundary(), Arak::ArakProcess::getColoring(), maxRange, obsIndex, pMaxFalseNeg, pMaxFalsePos, Arak::Geometry::Point, pOutlier, Arak::Util::PropertyMap, RangeObsIndex, rangeVar, Arak::Geometry::Rectangle, and updateObsLP(). |
|
Destructor.
Definition at line 196 of file range_obs.cpp. References obsIndex. |
|
Returns a const reference to a rectangle that encloses the observed data.
Definition at line 241 of file range_obs.hpp. References Arak::Grid< ItemType >::boundary(), obsIndex, and Arak::Geometry::Rectangle. |
|
Computes the (log) measure associated with the Arak process for the coloring. (This is actually multiplied by an elementary Poisson measure over the vertex locations to yield the coloring measure.)
Implements Arak::ArakProcess. Definition at line 188 of file range_obs.cpp. References Arak::ArakProcess::logMeasure(). |
|
Computes the potential associated with this posterior Arak process.
Implements Arak::ArakProcess. Definition at line 192 of file range_obs.cpp. References Arak::ArakProcess::potential(). |
|
This method is invoked to inform this process that the quadrilateral with the supplied vertices has been recolored. The vertices are supplied in either clockwise or counter-clockwise order. Note that this quadrilateral is simple, but not necessarily convex.
Reimplemented from Arak::Coloring::Listener. Definition at line 266 of file range_obs.cpp. References Arak::Geometry::Point, and update(). |
|
This method is invoked to inform this process that the triangle with the supplied vertices has been recolored.
Reimplemented from Arak::Coloring::Listener. Definition at line 259 of file range_obs.cpp. References Arak::Geometry::Point, and update(). |
|
Retraces the supplied observation in the current coloring. Returns true if the contact point of the observation changed. Definition at line 98 of file range_obs.cpp. References Arak::Grid< ItemType >::boundary(), Arak::ArakPosteriorRangeObs::RangeObs::curContact, Arak::ArakPosteriorRangeObs::RangeObs::curRange, Arak::ArakPosteriorRangeObs::RangeObs::entries, Arak::Coloring::IntEdgeHandle, Arak::ArakPosteriorRangeObs::RangeObs::max, maxRange, obsIndex, Arak::Geometry::Point, RangeObsHandle, Arak::ArakPosteriorRangeObs::RangeObs::source, Arak::Coloring::trace(), and Arak::ArakPosteriorRangeObs::RangeObs::unused. Referenced by updateObsLP(). |
|
Returns the scale of this Arak process.
Implements Arak::ArakProcess. Definition at line 248 of file range_obs.hpp. References Arak::ArakProcess::scale(). |
|
This method recalculates the likelihood of all observations that are out of date and are sensitive to a given triangle.
Definition at line 238 of file range_obs.cpp. References obsIndex, Arak::Geometry::Point, RangeObsHandle, Arak::Geometry::Triangle, and updateObsLP(). Referenced by recolored(). |
|
Updates the log probability of the supplied observation under the current coloring and process parameters. The change in its log probability is returned. Definition at line 146 of file range_obs.cpp. References Arak::BLACK, Arak::Coloring::color(), Arak::Color, Arak::ArakPosteriorRangeObs::RangeObs::curRange, Arak::ArakPosteriorRangeObs::RangeObs::isMaxRange, Arak::ln(), Arak::ArakPosteriorRangeObs::RangeObs::lp, maxRange, pMaxFalseNeg, pMaxFalsePos, pOutlier, Arak::ArakPosteriorRangeObs::RangeObs::range, rangeVar, retraceObs(), Arak::ArakPosteriorRangeObs::RangeObs::source, Arak::ArakPosteriorRangeObs::RangeObs::sourceColor, and Arak::ArakPosteriorRangeObs::RangeObs::updateId. Referenced by ArakPosteriorRangeObs(), and update(). |
|
Renders a graphical representation of this Arak posterior using the supplied widget. The Gaussian observations are rendered as disks of varying gray level.
Reimplemented from Arak::ArakProcess. Definition at line 203 of file range_obs.cpp. References Arak::jet_colors, Arak::jet_size, Arak::ArakPosteriorRangeObs::RangeObs::lp, Arak::Geometry::Segment, Arak::ArakPosteriorRangeObs::RangeObs::source, and Arak::ArakPosteriorRangeObs::RangeObs::target. |
|
The current potential arising from observations.
Definition at line 194 of file range_obs.hpp. |
|
This is the range measurement obtained when the sensor does not impact a surface.
Definition at line 164 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(), retraceObs(), and updateObsLP(). |
|
A vector of the observations.
Definition at line 148 of file range_obs.hpp. |
|
An index of the observations.
Definition at line 153 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(), boundary(), retraceObs(), update(), and ~ArakPosteriorRangeObs(). |
|
The probability of obtaining a false-negative max-range measurement. This occurs when the correct observation is maxRange but a smaller range is observed. Definition at line 182 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(), and updateObsLP(). |
|
The probability of obtaining a false-positive max-range measurement. This occurs when the correct observation is a range smaller than maxRange but maxRange is observed. Definition at line 189 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(), and updateObsLP(). |
|
The probability of obtaining an outlier range measurement.
Definition at line 175 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(), and updateObsLP(). |
|
The prior process.
Definition at line 143 of file range_obs.hpp. |
|
The variance of the range measurement, given the beam impacted a surface.
Definition at line 170 of file range_obs.hpp. Referenced by ArakPosteriorRangeObs(), and updateObsLP(). |
|
The update sequence number.
Definition at line 158 of file range_obs.hpp. |