User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
EdgeC::EdgeC(void)
EdgeC::EdgeC(const BVertexC &,const CrackCodeC &)
EdgeC::EdgeC(const BVertexC &,const BVertexC &)
EdgeC::EdgeC(const EdgeC &)
EdgeC::EdgeC(const Index2dC,const CrackCodeC &)
EdgeC::operator==(const EdgeC &) const
EdgeC::operator!=(const EdgeC &) const
EdgeC::Copy(EdgeC *)
EdgeC::Set(const BVertexC &,const CrackCodeC &)
EdgeC::Set(const EdgeC &)
EdgeC::RPixel(void) const
EdgeC::LPixel(void) const
EdgeC::Begin(void)
EdgeC::Begin(void) const
EdgeC::End(void)
EdgeC::End(void) const
EdgeC::Reverse(void)
BVertexC::BVertex(void) const
BVertexC::BVertex(void)
CrackCodeC::operator==(const CrackCodeC &) const
CrackCodeC::operator!=(const CrackCodeC &) const
CrackCodeC::operator+=(const CrackCodeC &)
CrackCodeC::operator-=(const CrackCodeC &)
CrackCodeC::Set(CrackCodeT)
CrackCodeC::Set(const CrackCodeC &)
CrackCodeC::CCode(void) const
CrackCodeC::Clock(void)
CrackCodeC::CClock(void)
CrackCodeC::Back(void)
Index2dC::Index2dC(SizeT)
Index2dC::operator=(const Index2dC &)
Index2dC::Set(const Index2dC &)
Index2dC::Set(IndexT,IndexT)
Index2dC::Step(const DirectionRLUDC &)
Index2dC::Step(DirectionRLUDT)
Index2dC::Step(CrackCodeT)
Index2dC::Swapped(void) const
Index2dC::Abs(void)
Index2dC::Row(void) const
Index2dC::Col(void) const
Index2dC::Row(void)
Index2dC::Col(void)
Index2dC::operator[](IndexT)
Index2dC::operator[](IndexT) const
Index2dC::operator==(const Index2dC &) const
Index2dC::operator!=(const Index2dC &) const
Index2dC::IsInside(const IndexRange2dC &) const
Index2dC::IsInside(const IndexRectangleC &) const
Index2dC::IsMoreUpperLeft(const Index2dC &) const
Index2dC::operator<(const Index2dC &) const
Index2dC::Right(void)
Index2dC::Left(void)
Index2dC::Up(void)
Index2dC::Down(void)
Index2dC::RightN(void) const
Index2dC::LeftN(void) const
Index2dC::UpN(void) const
Index2dC::DownN(void) const
Index2dC::LowerLeftN(void) const
Index2dC::LowerRightN(void) const
Index2dC::UpperLeftN(void) const
Index2dC::UpperRightN(void) const
Index2dC::Neighbour(const DirectionRLUDC &) const
Index2dC::IsRelNeighbour8(void) const
Index2dC::IsNeighbour8(const Index2dC &) const
Index2dC::Neighbour(const NeighbourOrderT) const
Index2dC::NeighbourOrder(void) const
Index2dC::NeighbourOrder(const Index2dC &) const
Index2dC::operator-(void) const
Index2dC::operator+=(const Index2dC &)
Index2dC::operator-=(const Index2dC &)
Index2dC::operator*=(const Index2dC &)
Index2dC::operator/=(const Index2dC &)
Index2dC::operator*=(const IntT)
Index2dC::operator*=(const RealT)
Index2dC::operator/=(const IntT)
Index2dC::operator/=(const RealT)
Index2dC::operator+(const Index2dC &) const
Index2dC::operator-(const Index2dC &) const
Index2dC::operator*(const Index2dC &) const
Index2dC::operator/(const Index2dC &) const
Index2dC::operator*(const IntT) const
Index2dC::operator*(const RealT) const
Index2dC::operator/(const IntT) const
Index2dC::operator/(const RealT) const
Index2dC::MaxValueDistance(const Index2dC &) const
Index2dC::CityBlockDistance(const Index2dC &) const
Index2dC::SqrEuclidDistance(const Index2dC &) const
Index2dC::EuclidDistance(const Index2dC &) const
Index2dC::SumSqr(void) const
Index2dC::Distance(const Index2dC &,GridMetricT) const
Index2dC::Hash(void) const
Index2dC::Dim(void) const
Index2dC::N(void) const
Index2dC::Area2(const Index2dC &,const Index2dC &) const
EdgeC
 
Elementary boundary edge
 
include "amma/Edge.hh"
User Level:Default
Library:Mbnd
Example:exMat2d.cc
Section:Image.Image Processing.Edges
In Scope:std

Comments:
The class EdgeC represent an elementary edge of discrete image. Elementary edge is located between two pixels. Edge is represented by its origin and its direction. This definition implies only 4 possible directions represented by Freeman code. Four elementary edges around a pixel are oriented counter-clockwise according to the center of the pixel. For example, the top edge has the direction to the left and its origin is upper-right corner of the pixel.

Parent Classes: Methods:
EdgeC()
Creates a non-valid edge.

EdgeC(const BVertexC & px,const CrackCodeC & cc)
Create the edge with origin in the boundary vertex 'px' and with direction 'cc'.

EdgeC(const BVertexC & begin,const BVertexC & end)
Create the edge with origin in the boundary vertex 'begin' pointing towards the boudary vertex 'end'. The direction is automatically generated.

EdgeC(const EdgeC & edg)
Copy constructor.

EdgeC(const Index2dC pxl,const CrackCodeC & cc)
Creates the edge which starts at one corner of the pixel 'pxl' and has the direction 'cc'. The corner of the pixel is chosen in such way that the elementary edge is an elementary edge of the pixel. Logical operators. ------------------

BooleanT operator==(const EdgeC & edg) const
Returns TRUE if both edge are equivalent.

BooleanT operator!=(const EdgeC & edg) const
Returns TRUE if edges are different. Resetting of the object. ------------------------

void Copy(EdgeC * edg)
Copy.

void Set(const BVertexC & px,const CrackCodeC & cc)
Sets the edge to start in the boundary vertex 'px' with direction 'cc'.

void Set(const EdgeC & edg)
Sets this edge according the edge 'edg'. Access to elements of an elementary edge. -----------------------------------------

Index2dC RPixel(void) const
Returns the pixel on the right side of the edge.

Index2dC LPixel(void) const
Returns the pixel on the left side of the edge.

const BVertexC & Begin()
Returns the boundary vertex from which the elementary edge starts from.

const BVertexC & Begin() const
Returns the boundary vertex from which the elementary edge starts from.

BVertexC End()
Returns the boundary vertex to which the elementary edge points to.

BVertexC End() const
Returns the boundary vertex to which the elementary edge points to.

EdgeC & Reverse()
Reverse the elementary edge.

#include "amma/BVertex.hh"
const BVertexC & BVertex() const
Access to the constant object

BVertexC & BVertex()
Access to the object

#include "amma/CrackCod.hh"
BooleanT operator==(const CrackCodeC & cc) const
Returns TRUE if the object content is equal to 'cc'.

BooleanT operator!=(const CrackCodeC & cc) const
Returns TRUE if the object content is not equal to 'cc'.

const CrackCodeC & operator+=(const CrackCodeC & cc)
The crackcode 'cc' is taken as a relative crackcode. The relative crackcode is added to this crackcode.

const CrackCodeC & operator-=(const CrackCodeC & cc)
The crackcode 'cc' is taken as a relative crackcode. The relative crackcode is subtracted from this crackcode.

void Set(CrackCodeT cc)
Sets object according to 'cc'.

void Set(const CrackCodeC & cc)
Sets object according to 'cc'.

CrackCodeT CCode() const
Returns the code. ---------- turning -----------------------

CrackCodeC & Clock()
Turns the crackcode clockwise.

CrackCodeC & CClock()
Turns the crackcode counterclockwise.

CrackCodeC & Back()
Turns the crackcode backward.

#include "amma/Index2d.hh"
explicit Index2dC(SizeT dim)
Creates an index
This is for compatibilty with N-D indexes, which need to be told there dimentionality.

const Index2dC & operator=(const Index2dC & i)
Sets this index to be equal to 'i'. Object modification -------------------

void Set(const Index2dC & index)
Sets this index to be equal to 'index'.

void Set(IndexT r,IndexT c)
Sets this index to be .

Index2dC & Step(const DirectionRLUDC & dir)
Translates the index into direction 'dir'.

Index2dC & Step(DirectionRLUDT dir)
Translates the index into direction 'dir'. Visual C++ 5.0 won't do an automatic cast from DirectionRLUDT to DirectionRLUDC.

Index2dC & Step(CrackCodeT dir)

Index2dC Swapped() const
Returns the 2-dimensional index with swapped value I() and J().

Index2dC & Abs()
Changes both indexes to their absolute values. Access to the member items ----------------------------

const IndexT & Row() const
Constant access to the row index

const IndexT & Col() const
Constant access to the column index

IndexT & Row()
Access to the row index

IndexT & Col()
Access to the column index

IndexT & operator[](IndexT i)
Access to a particular index. If i == 0, it returns the row index, if i == 1, it returns the column index.

IndexT operator[](IndexT i) const
Returns a particular index. If i == 0, it returns the row index, if i == 1, it returns the column index. Logical conditions ------------------

BooleanT operator==(const Index2dC & index) const
Returns TRUE if indexes have the same values.

BooleanT operator!=(const Index2dC & index) const
Returns TRUE if indexes have different values.

BooleanT IsInside(const IndexRange2dC & range) const
Returns TRUE, if this index is in the 'range'.

BooleanT IsInside(const IndexRectangleC & range) const
Returns TRUE, if this index is in the 'range'.

BooleanT IsMoreUpperLeft(const Index2dC & i) const
Returns TRUE, if Row() < i.Row() or (Row() == i.Row() and Col() < i.Col()).

BooleanT operator<(const Index2dC & i) const
A nick name for the member function IsMoreUpperLeft(i). Operations on the neighbourhood -------------------------------

Index2dC & Right()
Shifts the index to the right.

Index2dC & Left()
Shifts the index to the left.

Index2dC & Up()
Shifts the index to the up.

Index2dC & Down()
Shifts the index to the down.

Index2dC RightN() const
Returns the index of the right neighbour.

Index2dC LeftN() const
Returns the index of the left neighbour.

Index2dC UpN() const
Returns the index of the upper neighbour.

Index2dC DownN() const
Returns the index of the down neighbour.

Index2dC LowerLeftN() const
Returns the coordinates of the downleft neighbouring pixel

Index2dC LowerRightN() const
Returns the coordinates of the downright neighbouring pixel

Index2dC UpperLeftN() const
Returns the coordinates of the upperleft neighbouring pixel

Index2dC UpperRightN() const
Returns the coordinates of the upperright neighbouring pixel

Index2dC Neighbour(const DirectionRLUDC & dir) const
Returns the index of the neighbour in the direction 'dir'.

BooleanT IsRelNeighbour8() const
Is '*this' a relative index from 8-neighbourhood?

BooleanT IsNeighbour8(const Index2dC & pxl) const
Is the 'pxl' a neighbouring index of '*this'?

Index2dC Neighbour(const NeighbourOrderT neighOrder) const
Returns the coordinates of the neighbouring index.

IndexT NeighbourOrder() const
Returns the order of the relative index.

IndexT NeighbourOrder(const Index2dC & ind) const
Returns the order of the neighbouring index 'ind'. Arithmetic operations ---------------------

Index2dC operator-() const
Returns opposite elements (unary minus operator).

const Index2dC & operator+=(const Index2dC & ind)
Adds the index 'ind' to this index.

const Index2dC & operator-=(const Index2dC & ind)
Subtracts the index 'ind' from this index.

const Index2dC & operator*=(const Index2dC & ind)
Multiplies this index by index 'ind' item by item.

const Index2dC & operator/=(const Index2dC & ind)
Divides this index by index 'ind' item by item.

const Index2dC & operator*=(const IntT alpha)
Multiplies this index by number 'alpha'.

const Index2dC & operator*=(const RealT alpha)
Multiplies this index by real number 'alpha'.

const Index2dC & operator/=(const IntT alpha)
Divides this index by number 'alpha'.

const Index2dC & operator/=(const RealT alpha)
Divides this index by real number 'alpha'.

Index2dC operator+(const Index2dC & ind) const
Adds this index and 'ind'.

Index2dC operator-(const Index2dC & ind) const
Subtracts index 'ind' from this index.

Index2dC operator*(const Index2dC & ind) const
Returns this index multiplied by index 'ind' item by item.

Index2dC operator/(const Index2dC & ind) const
Returns this index divided by index 'ind' item by item.

Index2dC operator*(const IntT alpha) const
Multiplies this index by number 'alpha'.

Index2dC operator*(const RealT alpha) const
Multiplies this index by real number 'alpha'.

Index2dC operator/(const IntT alpha) const
Divides this index by number 'alpha'.

Index2dC operator/(const RealT alpha) const
Divides this index by real number 'alpha'. Distance calculations ---------------------

GridDistanceT MaxValueDistance(const Index2dC & i) const
Returns the distance of two indexes in maximum value metric.

GridDistanceT CityBlockDistance(const Index2dC & i) const
Returns the distance of two indexes in absolute value metric.

GridDistanceT SqrEuclidDistance(const Index2dC & i) const
Returns the distance of two indexes in square Euclid metric.

RealT EuclidDistance(const Index2dC & i) const
Returns the distance of two indexes in Euclid metric.

GridDistanceT SumSqr() const
Returns the sum of coordinate squares.

GridDistanceT Distance(const Index2dC & i,GridMetricT m) const
Returns the distance of two indexes in the specified metric 'm'. Special member functions ------------------------

UIntT Hash(void) const
Generates a randomised hash value for this index.

SizeT Dim(void) const
Returns a number of dimensions indexed.

SizeT N() const
Returns the number of coordinates of this point.

AreaT Area2(const Index2dC & second,const Index2dC & third) const
Returns twice the signed area of the triangle determined by this, the second, and the third points. Positive if 'this', 'second', 'third' are oriented counter-clockwise, and negative if clockwise. Ref.: - O'Rourke,J.: Computatinal geometry in C; Cambridge University Press, 1994, pp. 19-20


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001