bicotiRegionProperty

class bicotiRegionProperty< CoordType, PixelType >



Public Methods

bicotiRegionProperty( bicotiDexelRegion< CoordType, PixelType > * = NULL )

void SetRegion(  bicotiDexelRegion< CoordType, PixelType >)

void FixInfo(  )
void ComputeBorder(  )
void ClassifyAdjacent( double = -1 )

unsigned GetPixelInRegionNumber(  )
unsigned GetPixelsInBorderNumber(  )
unsigned GetDistinctsAdjacentsSetsNumber(  )

vector< CoordType >& GetBorder(  )
vector< CoordType >& GetAdjacents( unsigned )

bicotiCoordinate< REAL > GetBaricenter( bicotiPixelWeight< PixelType > * = NULL )



bicotiRegionProperty( bicotiDexelRegion< CoordType, PixelType > * = NULL )

    Constructor del objeto, recibe como parámetro una bicotiDexelRegion< CoordType, PixelType >* , por defecto se toma NULL, esto esta hecho así para que se puedan generar "arrays" con estos objetos.



void SetRegion(  bicotiDexelRegion< CoordType, PixelType >)

    Asigna la bicotiDexelRegion< CoordType, PixelType >, que se pasa como parámetro, como región sobre cual se actuará.



void FixInfo(  )

        Ordena con un criterio interno, el conjunto de puntos, para calcular los puntos( que normalmente represantan ubicación espacial de pixels sobre una imagen) que estan en el borde de la región. ................por ver si debe quedar pública.



void ComputeBorder(  )

            Calcula los puntos pertenecientes al borde de la región, el conjunto que se obtiene es desordenado. Para acceder a los puntos del borde usar GetBorder( ).



void ClassifyAdjacent( double = -1 )

            Si se desea los puntos del borde ordenados, primero llamar a ComputeBorder( ) y luego llamar a esta función.
El parámetro que se pasa, un double distance_tol, define una tolerancia de distancia de puntos sobre el borde, si no se cumple genera otro conjunto de puntos. Recomendamos ver .............. ejemplos



unsigned GetPixelInRegionNumber(  )

        Retorna la cantidad de puntos, que normalmente representan a ubicación de pixels en la implementación de imagen, que hay en la región.



unsigned GetPixelsInBorderNumber(  )

            Una vez llamada la función ComputeBorder( ), se puede preguntar la cantidad de puntos sobre el borde.



unsigned GetDistinctsAdjacentsSetsNumber(  )

            En función de la tolerancia, parámetro de la función ClassifyAdjacents( tolerancia ), se obtiene el borde pero fraccionado en diferentes conjuntos de puntos, con esta función( una vez llamada ComputeBorder( ) y ClassifyAdjacents( tolerancia ) ) me informo de la cantidad de subconjuntos que se clasifico al borde de la región.



vector< CoordType >& GetBorder(  )

            Despues de haber llamado a ComputeBorder( ), puedo obtener los puntos del borde mediante esta función, un caso útil es para crear una curva que sea el borde.



vector< CoordType >& GetAdjacents( unsigned )

            Accedo a los subconjuntos en los que se clasifico el borde de la región, el unsigned es un indice que va desde 0 ... GetDistinctsAdjacentsSetsNumber( ), esta función tiene sentido si antes se llamo a ComputeBorder( ) y a ClassifyAdjacents( tolerancia ).



bicotiCoordinate< REAL > GetBaricenter( bicotiPixelWeight< PixelType > * = NULL )

          Retorna el baricentro de la región, para calcular el baricentro se requiere una función de "peso", o sea un bicotiPixelWeight< PixelType >* , en caso de no pasarse este objeto, por defecto se utiliza
"peso" = 1. El resultado se brinda en una bicotiCoordinate< REAL >.